package com.parfinex.java.phase1.module2.task10;

/**
 * @Author: Li Jiahui
 * @Date: 2020/10/18 21:23
 * @Version 1.0
 * 编程实现所有方向的枚举，所有的方向：向上、向下、向左、向右
 */
public enum DirectionEnum implements DirectionInterface {

    //2.声明本类类型的引用指向本类类型的对象
    //匿名内部类的语法格式：接口/父类类型 引用变量名 = new 接口/父类类型（）{方法的重写}
    UP("向上"){
        @Override
        public void show() {
            System.out.println("贪吃蛇向上移动了一下！");
        }
    },DOWN("向下"){
        @Override
        public void show() {
            System.out.println("贪吃蛇向下移动了一下！");
        }
    },LEFT("向左") {
        @Override
        public void show() {
            System.out.println("贪吃蛇向左移动了一下！");
        }
    },RIGHT("向右") {
        @Override
        public void show() {
            System.out.println("贪吃蛇向右移动了一下！");
        }
    };
    private final String desc;//用于描述方向字符串的成员变量
    //通过构造方法实现成员变量的初始化
    //私有化构造方法，只能在本类中使用
    private DirectionEnum(String desc){
        this.desc =desc;
    }
//通过公有的get方法可以在本类的外部访问该类成员变量的数值
    public String getDesc() {
        return desc;
    }

//    @Override
//    public void show() {
//        System.out.println("现在可以实现接口中抽象方法的重写了！");
//    }
}
